package cliente.pagina.contenido.grupo.jerarquia;

import cliente.pagina.contenido.*;
import cliente.pagina.contenido.grupo.recurso.OperacionesDelConfirmar;
import cliente.pagina.*;
import comun.constantes.*;
import helpers.grupo.configuracion.HelperConfiguracion;
import helpers.grupo.configuracion.HelperHerramientas;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class ContenidoGrupoConfirmaOperacion extends ContenidoConfirmaOperacion{
	
	public ContenidoGrupoConfirmaOperacion() {
	    super();
	  }

	  public ContenidoGrupoConfirmaOperacion(Pagina pagina) {
	    this.setPagina(pagina);
	  }

	  public String getTitulo()
	  {
	    return this.getAccion();
	  }
	  
	  public String getTituloLink() {
	  /**@todo Implement this cliente.pagina.contenido.VistaContenido abstract method*/
	  throw new java.lang.UnsupportedOperationException("Method getTituloLink() not yet implemented.");
	  }

	  protected String getNombrePagina() {
	    return "confirma_operacion.jsp";
	  }

	  public String getNombreRecurso()
	  {
	    return RECURSOS.INICIO;//ver bien que poner o si esta bien puesto este recurso
	  }

	  // en este caso manda a actualizar el grupos
	  // y pone un mensaje si pudo o no realizar la operacion
	  public String getHTMLVista(){
		OperacionesDelConfirmar operacionesDelConfirmar = new OperacionesDelConfirmar(this.getPagina());
	    try {		  
		  this.setPagina(this.getPagina());
		  //genera un el html Procesando....
		  String paginaForwardParticular = null;
		  String  html = super.getHTMLVista();
		  String accion = this.getPagina().getParameter(PARAMETROS_PAGINAS.ACCION);
		  String resultadoOperacion="";
		  //boolean intercomision = ((Boolean)this.getPagina().getSession().getAttribute(PARAMETROS_PAGINAS.INTERCOMISION)).booleanValue();
		  if(accion.compareTo(ACCIONES_A_REALIZAR.MODIFICAR_GRUPO)==0){
			  //System.out.println("En el confirma operacion: "+ACCIONES_A_REALIZAR.MODIFICAR_GRUPO);
			  resultadoOperacion = operacionesDelConfirmar.modificarGrupo();
			  accion = ACCIONES_A_REALIZAR.MODIFICAR_GRUPO;	
			  
		  }else if(accion.compareTo(ACCIONES_A_REALIZAR.RESTAURAR_PROHIBIDO)==0){
			  //System.out.println("En el confirma operacion: "+ACCIONES_A_REALIZAR.RESTAURAR_PROHIBIDO);	  
			  accion = ACCIONES_A_REALIZAR.RESTAURAR_PROHIBIDO;
			  
			  resultadoOperacion = operacionesDelConfirmar.restaurarProhibido();
			  
			  paginaForwardParticular = this.getPagina().getPathPaginas()+"prohibido_rechazado_curioso.jsp?";
		  }else if(accion.compareTo(ACCIONES_A_REALIZAR.INTEGRACION_DE_PERSONAS)==0){
			  resultadoOperacion = operacionesDelConfirmar.integracionDePersonas();
			  //System.out.println(">>>>>>>>>=========ESTANDO EN GRUPOOOOOOOOOOOOO=======<<<<<<<<<<<<<<<<<");
			  if(this.getPagina().getParameter(PARAMETROS_PAGINAS.TIPO_INTEGRACION).compareTo(RECURSOS.INVITACION)==0)
				  paginaForwardParticular = this.getPagina().getPathPaginas()+"invitaciones.jsp?";
			  else{
				  //El caso del if me parace que esta en vano, siempre entrara por el else.
				  String tipoUsuario = operacionesDelConfirmar.obtieneTipoUsuarioPersonaLogueada();
				  if(operacionesDelConfirmar.personaEsIntegranteDelGrupo() || (tipoUsuario.compareTo(TIPO_USUARIOS.ALUMNO)!=0)){
					  paginaForwardParticular = this.getPagina().getPathPaginas()+"solicitudes.jsp?";
				  }
			  }
		  }else if(accion.compareTo(ACCIONES_A_REALIZAR.RESTAURAR_RECHAZADO)==0){
			  //System.out.println("En el confirma operacion: "+ACCIONES_A_REALIZAR.RESTAURAR_RECHAZADO);	  
			  accion = ACCIONES_A_REALIZAR.RESTAURAR_RECHAZADO;
			  
			  resultadoOperacion = operacionesDelConfirmar.restaurarRechazado();
			  
			  paginaForwardParticular = this.getPagina().getPathPaginas()+"prohibido_rechazado_curioso.jsp?";
		  }
		  else if(accion.compareTo(ACCIONES_A_REALIZAR.ELIMINAR_SOLICITUD)==0){
			  //System.out.println("En el confirma operacion: "+ACCIONES_A_REALIZAR.ELIMINAR_SOLICITUD);	  
			  accion = ACCIONES_A_REALIZAR.ELIMINAR_SOLICITUD;
			  
			  resultadoOperacion = operacionesDelConfirmar.eliminarIntegracion();
			  
			  paginaForwardParticular = this.getPagina().getPathPaginas()+"gestion_integracion.jsp?";
		  }
		  else if(accion.compareTo(ACCIONES_A_REALIZAR.ELIMINAR_INVITACION)==0){
			  //System.out.println("En el confirma operacion: "+ACCIONES_A_REALIZAR.ELIMINAR_INVITACION);	  
			  accion = ACCIONES_A_REALIZAR.ELIMINAR_INVITACION;
			  
			  resultadoOperacion = operacionesDelConfirmar.eliminarIntegracion();
			  
			  paginaForwardParticular = this.getPagina().getPathPaginas()+"gestion_integracion.jsp?";
			  //Configuracion de grupos
		  }else if(accion.compareTo(ACCIONES_A_REALIZAR.CONFIGURACION_DE_GRUPOS)==0){
			  accion = ACCIONES_A_REALIZAR.CONFIGURACION_DE_GRUPOS;
			  
			  resultadoOperacion = operacionesDelConfirmar.configuracionDeGrupos();
			  //limpiar atributos
			  this.getPagina().getSession().setAttribute(PARAMETROS_PAGINAS.CHECKBOX_HERRAMIENTAS,null);
			  this.getPagina().getSession().setAttribute(PARAMETROS_PAGINAS.TEXTOS_TEMAS_A_DICTAR,null);
			  this.getPagina().getSession().setAttribute(PARAMETROS_PAGINAS.CHECKBOX_GRUPOS_TEMAS_A_DICTAR,null);
			  
			  HelperHerramientas.seConfiguroHerramienta = false;
			  
		  }
		  //Cambiando Lider en Integrantes
		  else if(accion.compareTo(ACCIONES_A_REALIZAR.CAMBIANDO_LIDER)==0){
			  accion = ACCIONES_A_REALIZAR.CAMBIANDO_LIDER;
			  
			  resultadoOperacion = operacionesDelConfirmar.cambiandoLider();
			  paginaForwardParticular = this.getPagina().getPathPaginas()+"asigna_integrantes.jsp?"+
			  "&"+PARAMETROS_PAGINAS.COMBO_MAX_CANTIDAD_INTEGRANTES+"="+this.getPagina().getParameter(PARAMETROS_PAGINAS.COMBO_MAX_CANTIDAD_INTEGRANTES)+
			  "&"+PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_INTEGRANTES_DESDE_IMAGEN+"="+this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_INTEGRANTES_DESDE_IMAGEN);
			  if(this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_CONFIGURACION)!= null)
				  paginaForwardParticular += "&"+PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_CONFIGURACION+"="+Long.valueOf(this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_CONFIGURACION))+"&";
			  
			  //AGREGANDO Integrantes
		  }else if(accion.compareTo(ACCIONES_A_REALIZAR.ASIGNA_INTEGRANTES_AGREGAR)==0){
			  accion = ACCIONES_A_REALIZAR.ASIGNA_INTEGRANTES_AGREGAR;
			  
			  resultadoOperacion = operacionesDelConfirmar.asignaIntegrantes();
			  paginaForwardParticular = this.getPagina().getPathPaginas()+"asigna_integrantes.jsp?"+
			  "&"+PARAMETROS_PAGINAS.COMBO_MAX_CANTIDAD_INTEGRANTES+"="+this.getPagina().getParameter(PARAMETROS_PAGINAS.COMBO_MAX_CANTIDAD_INTEGRANTES)+
			  "&"+PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_INTEGRANTES_DESDE_IMAGEN+"="+this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_INTEGRANTES_DESDE_IMAGEN);
			  if(this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_CONFIGURACION)!= null)
				  paginaForwardParticular += "&"+PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_CONFIGURACION+"="+Long.valueOf(this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_CONFIGURACION))+"&";
			  
			  //SACANDO Integrantes
		  }else if(accion.compareTo(ACCIONES_A_REALIZAR.ASIGNA_INTEGRANTES_SACAR)==0){
			  accion = ACCIONES_A_REALIZAR.ASIGNA_INTEGRANTES_SACAR;
			  
			  resultadoOperacion = operacionesDelConfirmar.sacarIntegrantes();
			  paginaForwardParticular = this.getPagina().getPathPaginas()+"asigna_integrantes.jsp?"+
			  "&"+PARAMETROS_PAGINAS.COMBO_MAX_CANTIDAD_INTEGRANTES+"="+this.getPagina().getParameter(PARAMETROS_PAGINAS.COMBO_MAX_CANTIDAD_INTEGRANTES)+
			  "&"+PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_INTEGRANTES_DESDE_IMAGEN+"="+this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_INTEGRANTES_DESDE_IMAGEN);
			  if(this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_CONFIGURACION)!= null)
				  paginaForwardParticular += "&"+PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_CONFIGURACION+"="+Long.valueOf(this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_GRUPO_ASIGNA_CONFIGURACION))+"&";
			  
//			  Configuracion de Herramientas
		  }else if(accion.compareTo(ACCIONES_A_REALIZAR.CONFIGURACION_DE_HERRAMIENTAS)==0){
			  resultadoOperacion = operacionesDelConfirmar.configuracionDeHerramientas();
			  String grupo_ = "grupo_";
			  if(this.getPagina() instanceof PaginaGrupo) grupo_ = "";
			  HelperHerramientas.seConfiguroHerramienta = true;
			  paginaForwardParticular = this.getPagina().getPathPaginas()+grupo_+"configuracion.jsp?"+
			  PARAMETROS_PAGINAS.ACCION2+"=nada"+//solo para que el metodo q viene despues funcione bien, ya q considera arrancar con &
			  HelperConfiguracion.getHTMLParametrosDeConfiguracion(this.getPagina())+"&";
		  }
		  String paginaForward = "";
		  if(paginaForwardParticular != null)
			  paginaForward += paginaForwardParticular;
		  else  paginaForward += "index.jsp?";
		  
		  String parametros = PARAMETROS_PAGINAS.ID_AULA+"="+this.getPagina().getIdAula()+
		  "&"+PARAMETROS_PAGINAS.ID_ORGANIZACION+"="+((PaginaCurso)this.getPagina()).getIdOrganizacion()+
		  "&"+PARAMETROS_PAGINAS.REGISTRAR_ACCESO+"="+RECURSOS.INICIO+
		  "&"+PARAMETROS_PAGINAS.ACCION+"="+accion+
		  "&"+PARAMETROS_PAGINAS.RESULTADO_OPERACION+"="+resultadoOperacion+
		  "&"+PARAMETROS_PAGINAS.REFRESH+"="+new Long((new java.util.Date()).getTime());
		  if(this.getPagina().getIdComision()!=null)
			  parametros += "&"+PARAMETROS_PAGINAS.ID_COMISION+"="+this.getPagina().getIdComision();
		  if(this.getPagina() instanceof PaginaGrupo)
			  parametros += "&"+PARAMETROS_PAGINAS.ID_GRUPO+"="+this.getPagina().getIdGrupo();
		  
		  paginaForward += parametros;
		  
		  //System.out.println("paginaForward"+paginaForward);
		  
		  html += utils.UtilsGenerarHtml.generarHTMLForward(paginaForward);
		  operacionesDelConfirmar.getHelperRecursoGrupo().commit();
		  return html;		  
	    } catch (Exception ex) {
	      ex.printStackTrace();
	      operacionesDelConfirmar.getHelperRecursoGrupo().rollback();
	      return  comun.MensajeDeError.ERROR_EN_LA_GENERACION_DE_LA_PAGINA;
	    }		  
	  }	  
	  
	 // lo redefino porque necesito sacar los parametros del request que esta en la nueva pagina
	  public void setPagina(Pagina pagina){
		  super.setPagina(pagina);
		  if (pagina.getParameter(PARAMETROS_PAGINAS.ACCION)!=null)
		      this.setAccion(pagina.getParameter(PARAMETROS_PAGINAS.ACCION));
	  }

	  public String getSubcarpetaRecurso(){
	    String subCarpetaRecurso = null;
	    return subCarpetaRecurso;
	  }
}